Apache Flink Cluster সেটআপ এবং মনিটরিং করার জন্য আপনাকে কিছু ধাপ অনুসরণ করতে হবে। Flink Cluster সাধারণত Standalone Cluster, YARN, বা Kubernetes এর উপর সেটআপ করা যায়। এখানে আমি একটি Standalone Flink Cluster সেটআপ এবং মনিটরিং এর বিস্তারিত প্রক্রিয়া আলোচনা করবো।
wget https://archive.apache.org/dist/flink/flink-1.15.0-bin-scala_2.12.tgz
tar -xzf flink-1.15.0-bin-scala_2.12.tgz
cd flink-1.15.0
conf/flink-conf.yaml
ফাইলটি কনফিগার করুন। নিচের সেটিংসগুলো পরিবর্তন বা যোগ করতে হবে:
jobmanager.rpc.address: localhost # JobManager এর হোস্টনেম বা আইপি অ্যাড্রেস
taskmanager.numberOfTaskSlots: 4 # প্রতিটি TaskManager এর জন্য স্লট সংখ্যা
parallelism.default: 4 # ডিফল্ট প্যারালেলিজম
JobManager এবং TaskManager আলাদাভাবে চালু করতে হবে।
JobManager চালু করতে:
./bin/start-cluster.sh
TaskManager চালু করতে:
./bin/taskmanager.sh start
Cluster চালু হওয়ার পরে, ব্রাউজার থেকে Flink এর Web Dashboard অ্যাক্সেস করতে পারবেন:
http://localhost:8081
Flink Cluster মনিটরিং করার জন্য Flink-এর বিল্ট-ইন Web Dashboard এবং অন্যান্য External Monitoring Tools ব্যবহার করা যায়, যেমন:
Step 1: Flink কনফিগারেশন Prometheus-এর জন্য প্রস্তুত করা:
flink-conf.yaml
এ নিচের লাইনগুলি যোগ করুন:metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
metrics.reporter.prom.port: 9250
Step 2: Prometheus সেটআপ করা:
scrape_configs:
- job_name: 'flink'
static_configs:
- targets: ['localhost:9250']
./prometheus --config.file=prometheus.yml
Step 3: Grafana সেটআপ করা:
এখানে একটি উদাহরণ প্রজেক্টের কাঠামো দেখানো হলো, যেখানে Flink Cluster ডিপ্লয় করা হবে এবং Prometheus ও Grafana ব্যবহার করে মনিটরিং করা হবে:
প্রয়োজনীয় টুলস:
প্রজেক্ট ফোল্ডার কাঠামো:
flink-monitoring-project/
├── flink-1.15.0/
├── prometheus/
│ ├── prometheus.yml
├── grafana/
│ ├── docker-compose.yml
├── flink-jobs/
│ ├── MyFlinkJob.jar
├── logs/
Docker ব্যবহার করে Prometheus ও Grafana চালু করা:
grafana/docker-compose.yml
ফাইলটি:docker-compose -f grafana/docker-compose.yml up -d
version: '3'
services:
prometheus:
image: prom/prometheus
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana
ports:
- "3000:3000"
Flink Job ডিপ্লয় করা:
এই প্রজেক্টে Flink Cluster এবং Monitoring সেটআপ করা হয়েছে যাতে Cluster-এর পারফরম্যান্স ও কার্যক্রম সঠিকভাবে পর্যবেক্ষণ করা যায়। Flink এর Cluster Management এবং Monitoring কনফিগার করে আপনি স্কেলেবল এবং রিলায়েবল স্ট্রিম প্রসেসিং অ্যাপ্লিকেশন ডিপ্লয় করতে পারবেন।
আরও দেখুন...